package com.yuandian.middle.platform.service;

import com.yuandian.api.middle_platform.po.IndicatorReportingParam;
import com.yuandian.api.middle_platform.vo.OperationalIndicatorResultVo;
import com.yuandian.bpm.common.core.util.R;
import com.yuandian.utils.PageDataInfo;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 说明：指标上报(中台二期)
 * @Author LSH
 * @Date 2023/5/23 14:10
 */
public interface IIndicatorReportingService {

    /**
     * 查询运营指标
     * @param param	请求参数
     * @return	通用结果集
     */
	R<OperationalIndicatorResultVo> queryOperationalIndicators(IndicatorReportingParam param);

	/**
	 * 查询实时指标
	 * @param param	请求参数
	 * @return	通用结果集
	 */
    R<PageDataInfo> queryImplementationIndicators(IndicatorReportingParam param);

	/**
	 * 查询运营指标-导出
	 * @param param	请求参数
	 */
//    void queryIndicatorsDown(IndicatorReportingParam param, HttpServletResponse response) throws IOException;


	/**
	 * 查询运营指标-导出
	 * @param param	请求参数
	 */
	void queryOperationalDown(IndicatorReportingParam param, HttpServletResponse response) throws IOException;


	/**
	 * 查询实时指标-导出
	 * @param param	请求参数
	 */
	void queryImplementationDown(IndicatorReportingParam param, HttpServletResponse response) throws IOException;

	/**
	 * 运营指标 数据文件和校验文件 上报
	 * @param param	请求参数
	 */
	void operationalFileReporting(IndicatorReportingParam param) throws IOException, Exception;

	/**
	 * 实时指标 上报
	 * @param param	请求参数
	 */
	void implementationIndicators(IndicatorReportingParam param) throws Exception;



}
